package com.mmy.service.scenic.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.mmy.dao.scenic.TScenicOrderRepository;
import com.mmy.dao.scenic.VScenicOrderRepository;
import com.mmy.domain.scenic.TScenicOrder;
import com.mmy.domain.scenic.VScenicOrder;
import com.mmy.service.scenic.ScenicOrderService;

@Service
public class TScenicOrderServiceImpl implements ScenicOrderService {

	@Autowired
	TScenicOrderRepository tScenicOrderRepository;

	@Autowired
	VScenicOrderRepository vScenicOrderRepository;

	/**
	 * 获取最大流水号
	 * 
	 * @return 返回值说明 流水号
	 * @author 创建人 dingxd
	 * @date 创建日期 2020.11.17
	 */
	public int getMaxID() {
		// 流水号
		Object objCode = tScenicOrderRepository.getMaxID();
		int iID = 0;
		if (objCode != null) {
			iID = Integer.parseInt(objCode.toString());
		}
		return iID;
	}

	/**
	 * 获取订单最大编码
	 * 
	 * @param 参数说明 计划单编码
	 * @return 返回值说明 订单编码
	 * @author 创建人 dingxd
	 * @date 创建日期 2020.11.17
	 */
	public String getMaxCode(int iPlanID) {
		// int 转 string
		String strPlanID = String.valueOf(iPlanID);
		// 返回订单最大编码
		Object objCode = tScenicOrderRepository.getMaxCode(strPlanID);
		String strCode = "";
		if (objCode != null) {
			strCode = objCode.toString();
		}
		return strCode;
	}

	/**
	 * 新增id
	 * 
	 * @param
	 * @return
	 */
	public void save(int id) {
		// TODO Auto-generated method stub
		tScenicOrderRepository.save(id);
	}

	/**
	 * 新增订单
	 * 
	 * @param
	 * @return
	 */
	public void save(TScenicOrder tScenicOrder) {
		// TODO Auto-generated method stub
		tScenicOrderRepository.save(tScenicOrder);
	}

	/**
	 * 查找全部
	 * 
	 * @param
	 * @return
	 */
	public List<VScenicOrder> findAll() {
		// TODO Auto-generated method stub
		return vScenicOrderRepository.findAll();
	}

	/**
	 * id查找
	 * 
	 * @param
	 * @return
	 */
	public TScenicOrder findByID(int iID) {
		// TODO Auto-generated method stub
		return tScenicOrderRepository.findByID(iID);
	}

	/**
	 * 删除预留
	 * 
	 * @param
	 * @return
	 */
	public void delScenicOrder(List<Integer> lstID) {
		// TODO Auto-generated method stub
		tScenicOrderRepository.delScenicOrder(lstID);
	}

	/**
	 * 会计查询
	 * 
	 * @param
	 * @return
	 */
	public List<VScenicOrder> findByAccount(String strAccountState) {
		// TODO Auto-generated method stub
		return vScenicOrderRepository.findByAccount(strAccountState);
	}

	/**
	 * 查找景点的订单
	 * 
	 * @param
	 * @return
	 */
	public List<VScenicOrder> findByScenicID(int iScenicID) {
		// TODO Auto-generated method stub
		// return vScenicOrderRepository.findByScenicID(iScenicID);
		return null;
	}

	/**
	 * 查询相同计划的景点
	 * 
	 * @param
	 * @return
	 */

	public List<VScenicOrder> findByPlanID(int iPlanID) {
		// TODO Auto-generated method stub
		return vScenicOrderRepository.findByPlanID(iPlanID);
	}

	/**
	 * 出纳查询
	 * 
	 * @param
	 * @return
	 */

	public List<VScenicOrder> findByCashierAndScenicID(String strCashierState, int iScenicID) {
		// TODO Auto-generated method stub
		return vScenicOrderRepository.findByCashierAndScenicID(strCashierState, iScenicID);
	}

	/**
	 * 会计查询
	 * 
	 * @param
	 * @return
	 */

	public List<VScenicOrder> findByAccountAndScenicID(String strAccountState, int iScenicID) {
		// TODO Auto-generated method stub
		return vScenicOrderRepository.findByAccountAndScenicID(strAccountState, iScenicID);
	}

	/**
	 * 保存全部
	 * 
	 * @param
	 * @return
	 */
	public void saveAll(List<TScenicOrder> lstCashier) {
		// TODO Auto-generated method stub
		tScenicOrderRepository.saveAll(lstCashier);
	}

	/* 通过预留人员编号和类型未预留 */
	public List<VScenicOrder> findByUserID(int userID) {
		// TODO Auto-generated method stub
		// return vScenicOrderRepository.findByUserID(userID);
		return null;
	}

	/* 通过订单人员编号和类型已有订单 */
	public List<VScenicOrder> findByOrderUserID(int userID) {
		// TODO Auto-generated method stub
		// return vScenicOrderRepository.findByOrderUserID(userID);
		return null;
	}

	/* 通过订单人员编号和类型已有退单 */
	public List<VScenicOrder> findByChargeBackUserID(int userID) {
		// TODO Auto-generated method stub
		// return vScenicOrderRepository.findByChargeBackUserID(userID);
		return null;
	}

}
